package com.tianya.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.time.LocalDateTime;
import java.util.Date;

import com.tianya.domain.enums.LeaveStatus;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 请假表
 * @TableName leave
 */
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value ="leave_request")
@Data
public class Leave {
    /**
     * 请假记录唯一标识，主键
     */
    @TableId(type = IdType.AUTO)
    private Long leaveId;

    /**
     * 关联学生表的学生ID（逻辑外键）
     */
    private Long userId;

    /**
     * 请假原因
     */
    private String reason;
    /**
     * 请假人类型（student = 1/teacher = 2）
     */
    private Integer userType;

    /**
     * 请假开始时间
     */
    private LocalDateTime startTime;

    /**
     * 请假结束时间
     */
    private LocalDateTime endTime;

    /**
     * 请假状态：已批准/待审批
     */
    private Integer status;

    /**
     *  请假审批人
     */
    private Long approverId;

    /**
     * 留言
     */
    private String remark;

    /**
     * 创建时间
     */
    private LocalDateTime createdAt;

    /**
     * 申请时间
     */
    private LocalDateTime applyTime;
    private Integer days;
    private Long clazzId;
    /**
     * 处理时间
     */
    private LocalDateTime processingTime;
}